public class Verkauf extends Warenlager { //private Liste bestand; public Verkauf(){ bestand = null; } private void add(Ware w, int c ) { Liste hl = new Liste(new Warenbestand(w, c)); if ( bestand == null ) { bestand = hl; } else { bestand.append(hl); } } public void transfer(Warenlager source, Ware w, int c) { Liste b; for (b = source.bestand; b != null; b = b.next) { if ( ((Warenbestand)b.data).ware.equals(w) ) { if( ((Warenbestand)b.data).count >= c ) { ((Warenbestand)b.data).count -= c; add(w, c); } else { System.err.print("Nicht genĂ¼gend Ware vorhanden\n"); } return; } } } public static boolean test() { assert(Warenlager.test()); System.err.print("Verkauf: "); Verkauf testverkauf = new Verkauf(); Warenlager testlager = new Warenlager(); assert(testverkauf.wert() == 0.0); assert(testlager.wert() == 861.15); testverkauf.transfer( testlager, testlager.get(0).ware, 4); assert(testverkauf.wert() == 7.96); assert(testlager.wert() == 853.19); testverkauf.transfer( testlager, testlager.get(5).ware, 5); assert(testverkauf.wert() == 22.96); testverkauf.transfer( testlager, new Ware("Kaugummis", 2.49), 10 ); assert( testlager.anzahl(new Ware("Kaugummis", 2.49)) == 20); System.err.println("passed"); return true; } public static void main(String[] args) { test(); } }